<test>
    <settings>
        <max_memory_usage>15G</max_memory_usage>
    </settings>

    <create_query>CREATE TABLE t (x UInt64) ENGINE = Memory</create_query>
    <!-- use less threads to save memory -->
    <fill_query>INSERT INTO t SELECT number AS x FROM numbers_mt(200000000) SETTINGS max_threads = 8</fill_query>
    <drop_query>DROP TABLE IF EXISTS t</drop_query>

    <query>SELECT cast(x, 'Int64'), cast(x, 'Int128'), cast(x, 'Int256'), cast(x, 'String'), cast(x, 'Decimal64(8)') FROM t FORMAT Null</query>
    <query>SELECT accurateCast(x, 'Int64'), accurateCast(x, 'Int128'), accurateCast(x, 'Int256'), accurateCast(x, 'String'), accurateCast(x, 'Decimal64(8)') FROM t FORMAT Null</query>
    <query>SELECT accurateCastOrNull(x, 'Int64'), accurateCastOrNull(x, 'Int128'), accurateCastOrNull(x, 'Int256'), accurateCastOrNull(x, 'String'), accurateCastOrNull(x, 'Decimal64(8)') FROM t FORMAT Null</query>

</test>
